Correlation Coefficient TableThis is a sample PineSript code implementation using Correlation Coefficient. It uses the ta.correlation library of Pinescript and calculates the correlation based on user input length. The results are then plotted on a table. The corr value displays the actual correlation coefficient value while the Corr Status displays the interpretation of the correlation coefficient values.
The script takes the following input
Source Symbol - This is the base symbol which will be used in calculating correlation coefficient. In my case, since i am looking more often on crypto. I defaulted it to BTCUSDT
Symbol 1 - Symbol 5 - These are the coins that will be compared to our base symbol for correlation.
Source - You can select on which price source you want to be calculated. By default this is set to candle close price.
Length - The number of price bar to look back and retrieve correlation coefficient. Set to 20 bars by default.
Table Settings - Since the correlation coefficient are displayed on a table. An option to customize the table settings are presented.
The Correlation Status column was based on this Interpretation:
For more information, read this article www.tradingview.com
Cari dalam skrip untuk "THE SCRIPT"
Liquidity Swings [LuxAlgo]The liquidity swings indicator highlights swing areas with existent trading activity. The number of times price revisited a swing area is highlighted by a zone delimiting the swing areas. Additionally, the accumulated volume within swing areas is highlighted by labels on the chart. An option to filter out swing areas with volume/counts not reaching a user-set threshold is also included.
This indicator by its very nature is not real-time and is meant for descriptive analysis alongside other components of the script. This is normal behavior for scripts detecting pivots as a part of a system and it is important you are aware the pivot labels are not designed to be traded in real-time themselves.
🔶 USAGE
The indicator can be used to highlight significant swing areas, these can be accumulation/distribution zones on lower timeframes and might play a role as future support or resistance.
Swing levels are also highlighted, when a swing level is broken it is displayed as a dashed line. A broken swing high is a bullish indication, while a broken swing low is a bearish indication.
Filtering swing areas by volume allows to only show significant swing areas with an higher degree of liquidity. These swing areas can be wider, highlighting higher volatility, or might have been visited by the price more frequently.
🔶 SETTINGS
Pivot Lookback : Lookback period used for the calculation of pivot points.
Swing Area : Determine how the swing area is calculated, "Wick Extremity" will use the range from price high to the maximum between price close/open in case of a swing high, and the range from price low to the minimum between price close/open in case of a swing low. "Full Range" will use the full candle range as swing area.
Intrabar Precision : Use intrabar data to calculate the accumulated volume within a swing area, this allows obtaining more precise results.
Filter Areas By : Determine how swing areas are filtered out, "Count" will filter out swing areas where price visited the area a number of time inferior to the user set threshold. "Volume" will filter out swing areas where the accumulated volume within the area is inferior to the user set threshold.
🔹 Style
Swing High : Show swing highs.
Swing Low : Show swing lows.
Label Size : Size of the labels on the chart.
Note that swing points are confirmed after Pivot Lookback bars, as such all elements are displayed retrospectively.
Adaptive Fisherized Stochastic Center of GravityIntroduction
I modified the script "Fisher Stochastic Center of Gravity" of @DasanC for this indicator.
I added inverse Fisher transform, cycle period adaptiveness mode (Ehlers) and smoothing to it.
Moreover, I added buy and sell and beautified some stuff.
Lastly, it is also non-repainting!
Usage
This indicator can be used like a normal stochastic, but I don't recommend divergence analysis on it.
That fisherization stuff seems to make the graphs unuseable for that because it tries.
It works well on every timeframe I would say, but lower timeframes are recommended, because of the fast nature of stochastic.
Usually it does a good job on entry confirmation for reversals and trend continuation trades.
Recommended indicator to combine with this indicator is RSI cyclic smoothed v2 .
This is the best RSI version I know. In trending market it is recommended to look more on the inner bands and in flat market it is recommended to look more on the outer bands.
When RSI shows oversold and this indicator shows a crossover of the Center of Gravity plot through the bottom line -> Long entry is confirmed
When RSI shows overbought and this indicator shows a crossunder of the Center of Gravity plot through the top line -> Short entry is confirmed
Settings
The adaptive mode is enabled by default to give you straight the whole indicator experience.
The default settings are optimized, but should be changed depending on the market.
An example:
Market has a low volatility and a high momentum -> I want a slower/higher length to catch the slower new highs and lows.
Market has higher volatility and a low momentum, -> I want a faster/lower length to catch the faster new highs and lows
Signals
Crossover
Buy -> cog crossover signalLine
Sell -> cog crossunder signalLine
Overbought/Oversold Crossover
Buy -> cog crossover lowerBand
Sell -> cog crossunder lowerBand
I use this indicator a lot, because I don't know a better stochastic on this community here.
@DasanC did an awesome work with his version I used as base for this script.
Enjoy this indicator and let the profit roll! 🔥
Capital Asset Pricing Model (CAPM) [Loxx]Capital Asset Pricing Model (CAPM) demonstrates how to calculate the Cost of Equity for an underlying asset using Pine Script. This script will only work on the monthly timeframe. While you can change the default inputs, you should study what CAPM is and how this works before doing so. This indicator pulls various types of data from SPY from various timeframes to calculate risk-free rates, market premiums, and log returns. Alpha and Beta are computed using the regression between underlying asset and SPY. This indicator only calculates on the most recent data. If you wish to change this, you'll have to save the script and make adjustments. A few examples where CAPM is used:
Used as the mu factor Geometric Brownian Motion models for options pricing and forecasting price ranges and decay
Calculating the Weighted Average Cost of Capital
Asset pricing
Efficient frontier
Risk and diversification
Security market line
Discounted Cashflow Analysis
Investment bankers use CAPM to value deals
Account firms use CAPM to verify asset prices and assumptions
Real estate firms use variations of CAPM to value properties
... and more
Details of the calculations used here
Rm is calculated using yearly simple returns data from SPY, typically this is just hard coded as 10%.
Rf is pulled from US 10 year bond yields
Beta and Alpha are pulled form monthly returns data of the asset and SPY
In the past, typically this data is purchased from investments banks whose research arms produce values for beta, alpha, risk free rate, and risk premiums. In 2022 ,you can find free estimates for each parameter but these values might not reflect the most current data or research.
History
The CAPM was introduced by Jack Treynor (1961, 1962), William F. Sharpe (1964), John Lintner (1965) and Jan Mossin (1966) independently, building on the earlier work of Harry Markowitz on diversification and modern portfolio theory. Sharpe, Markowitz and Merton Miller jointly received the 1990 Nobel Memorial Prize in Economics for this contribution to the field of financial economics. Fischer Black (1972) developed another version of CAPM, called Black CAPM or zero-beta CAPM, that does not assume the existence of a riskless asset. This version was more robust against empirical testing and was influential in the widespread adoption of the CAPM.
Usage
The CAPM is used to calculate the amount of return that investors need to realize to compensate for a particular level of risk. It subtracts the risk-free rate from the expected rate and weighs it with a factor – beta – to get the risk premium. It then adds the risk premium to the risk-free rate of return to get the rate of return an investor expects as compensation for the risk. The CAPM formula is expressed as follows:
r = Rf + beta (Rm – Rf) + Alpha
Therefore,
Alpha = R – Rf – beta (Rm-Rf)
Where:
R represents the portfolio return
Rf represents the risk-free rate of return
Beta represents the systematic risk of a portfolio
Rm represents the market return, per a benchmark
For example, assuming that the actual return of the fund is 30, the risk-free rate is 8%, beta is 1.1, and the benchmark index return is 20%, alpha is calculated as:
Alpha = (0.30-0.08) – 1.1 (0.20-0.08) = 0.088 or 8.8%
The result shows that the investment in this example outperformed the benchmark index by 8.8%.
The alpha of a portfolio is the excess return it produces compared to a benchmark index. Investors in mutual funds or ETFs often look for a fund with a high alpha in hopes of getting a superior return on investment (ROI).
The alpha ratio is often used along with the beta coefficient, which is a measure of the volatility of an investment. The two ratios are both used in the Capital Assets Pricing Model (CAPM) to analyze a portfolio of investments and assess its theoretical performance.
To see CAPM in action in terms of calculate WACC, see here for an example: finbox.com
Further reading
en.wikipedia.org
Multiple Non-Anchored VWAPA lot of VWAP scripts are anchored and only allow single VWAP additions. This script allows up to 5 simultaneous VWAPs, for example monthly, quarterly, yearly, 3 years, etc. Can also be used on smaller timeframes. The non-anchored part of the script allows it to be constantly rolling, with no resets.
I do not endorse this script, it was created at my request :)
Improved Z-ScoreStandard Z-Score scripts lack customization of parameters that I personally desire when doing quantitative analysis. This is an improved Z-Score Indicator to add to your charts that lets you customize various inputs.
Below are the current features:
1) Ticker Type - which data would you like to use for the ticker input - Open, High, Low, Close, OHLC4
2) Ticker Smoothing? - sometimes if you have noisy data, it could be useful to smooth the ticker with a very fast EMA. If this is set to true, the ticker data will be smoothed with an EMA with period that you specify.
3) Ticker Smoothing Period - if Ticker Smoothing? is set to true, this will allow you to specify the smoothing period of the fast EMA - I usually use a 3-period for all of my quantitative analysis, if I am using smoothing.
4) MA Type - Z-Scores are normalized by subtracting a moving average. This allows you to select either a Simple Moving Average (SMA) or an Exponential Moving Average (EMA) - the standard is to use SMA.
5) MA Period - the previous X number of bars that you would like to use for normalization. The default is set to 21 (this is roughly 1 month of trading days data for a daily chart).
5) Standard Deviation Period - Z-Scores are normalized by dividing by the standard deviation over X previous periods. This allows you the chance to customize. Default is 252 (this is roughly 1 year of trading days data for a daily chart).
I can add more features if folks are interested, let me know! I hope you like the script.
Best regards,
-Jim Bosse-
Listado CCL - price of the dollar in ArgentinaThis Script print different CCL values (Argentinian dolar).
Each value is based in a different Ticker and is calculated based in ADRs and local stocks using the corresponding formula.
The Script can be used regardless of the ticker used in the Design.
The values are calculated based on the close value of the last bar.
Was not taken into account the opperated volume, therefore it is important not to make investment decisions based on the information provided by this script.
RSI vs Longs/Shorts Margin Ratio Percentage RankThis indicator plots the RSI of the current token and the percentage rank, of the RSI, of the ratio of a long margined token to a short margined token.
By default it plots the RSI of the current token with a color based on percentage rank the RSI of BITFINEX:BTCUSDLONGS divided by BITFINEX:BTCUSDSHORTS, so the assumption is that you are using it on a BTC chart. While you can select any Tradingview symbol for your Long and Short tokens I don't think you will get meaningful results unless you select a long and short margined token that matches your chart symbol, such as BITFINEX:ETHUSDLONGS and BITFINEX:ETHUSDSHORTS if you're trading ETHUSD. Even using margined tokens the results may not be meaningful, if there is not enough trade volume in the token, or if they are being manipulated, so you must backtest everything.
The three plot options are:
• Colored RSI - RSI plotted with colors based on the Longs/Shorts ratio
• Background Color - White RSI plot with Longs/Shorts ratio as background color
• RSI + Ratio - White RSI with Longs/Shorts ratio plotted in color
The chart shows all three options on an hourly BITFINEX:SOLUSD chart with BITFINEX:SOLUSDSHORTS and BITFINEX:SOLUSDLONGS.
By default it also plots a short term moving average and it can also plot the raw ratio rather than the percentage rank if selected.
This script started out as "RSI vs BITFINEX BTC Longs/Shorts Margin Ratio Percentage Rank" by me. I was interested in the ratio of BITFINEX:BTCUSDLONGS to BITFINEX:BTCUSDSHORTS as a measure of market sentiment and how that sentiment would magnify RSI changes. The volatility of the BTCUSDLONGS : BTCUSDSHORTS ratio was too low to get a good read, using a percent rank of the RSI of the ratio made the results more visible. After a discussion with @jason5480 I saw how opening it up to all margined Long / Short pairs was the best way forward. Unfortunately the name no longer matched the script, so I had to publish a new script.
Mean Shift Pivot ClusteringCore Concepts
According to Jeff Greenblatt in his book "Breakthrough Strategies for Predicting Any Market", Fibonacci and Lucas sequences are observed repeated in the bar counts from local pivot highs/lows. They occur from high to high, low to high, high to low, or low to high. Essentially, this phenomenon is observed repeatedly from any pivot points on any time frame. Greenblatt combines this observation with Elliott Waves to predict the price and time reversals. However, I am no Elliottician so it was not easy for me to use this in a practical manner. I decided to only use the bar count projections and ignore the price. I projected a subset of Fibonacci and Lucas sequences along with the Fibonacci ratios from each pivot point. As expected, a projection from each pivot point resulted in a large set of plotted data and looks like a huge gong show of lines. Surprisingly, I did notice clusters and have observed those clusters to be fairly accurate.
Fibonacci Sequence: 1, 2, 3, 5, 8, 13, 21, 34...
Lucas Sequence: 2, 1, 3, 4, 7, 11, 18, 29, 47...
Fibonacci Ratios (converted to whole numbers): 23, 38, 50, 61, 78, 127, 161...
Light Bulb Moment
My eyes may suck at grouping the lines together but what about clustering algorithms? I chose to use a gimped version of Mean Shift because it doesn't require me to know in advance how many lines to expect like K-Means. Mean shift is computationally expensive and with Pinescript's 500ms timeout, I had to make due without the KDE. In other words, I skipped the weighting part but I may try to incorporate it in the future. The code is from Harrison Kinsley . He's a fantastic teacher!
Usage
Search Radius: how far apart should the bars be before they are excluded from the cluster? Try to stick with a figure between 1-5. Too large a figure will give meaningless results.
Pivot Offset: looks left and right X number of bars for a pivot. Same setting as the default TradingView pivot high/low script.
Show Lines Back: show historical predicted lines. (These can change)
Use this script in conjunction with Fibonacci price retracement/extension levels and/or other support/resistance levels. If it's no where near a support/resistance and there's a projected time pivot coming up, it's probably a fake out.
Notes
Re-painting is intended. When a new pivot is found, it will project out the Fib/Lucas sequences so the algorithm will run again with additional information.
The script is for informational and educational purposes only.
Do not use this indicator by itself to trade!
Cubic Bézier Curve Extrapolation [LuxAlgo]The following script allows for the extrapolation of a Cubic Bézier Curve fit using custom set control points and can be used as a drawing tool allowing users to estimate underlying price trends or to forecast future price trends.
Settings
Extrapolation Length: Number of extrapolated observations.
Source: Source input of the script.
Style
Width: Bézier curve line width.
Colors: The curve is colored based on the direction it's taking, the first color is used when the curve is rising, and the second when it is declining.
The other settings determine the locations of the control points. The user does not need to change them from the settings, instead only requiring adjusting their location on the chart like with a regular drawing tool. Setting these control points is required when adding the indicator to your chart.
Usage
Bézier curves are widely used in a lot of scientific and artistic fields. Using them for technical analysis can be interesting due to their extrapolation capabilities as well as their ease of calculation.
A cubic Bézier curve is based on four control points. Maxima/Minimas can be used as control points or the user can set them such that part of the extrapolated observation better fits the most recent price observations.
A possible disadvantage of Bézier curves is that obtaining a good fit with the data is not their primary goal. Rational Bézier curves can be used if obtaining a good fit is the primary user goal.
Details
At their core, Bézier curves are obtained from nested linear interpolation between each control point and the resulting linearly interpolated results. The Bézier curve point located at the first control point P0 and the last curve point located at the last control point Pn are equal to their respective control points. However, this script does not make use of this approach, instead using a more explicit form.
As mentioned previously, the complexity of a Bézier curve can be determined by its number of control points which is related to the Bézier curve degree (number of control points - 1). Instead of using nested linear interpolations to describe Bézier curves, one can describe them as a polynomial of a degree equal to the degree of the wanted Bézier curve.
Better Divergence On Any Indicator [DoctaBot]This is an expansion of the Tradingview built in Divergences indicator (bottom) with 2 MAJOR differences.
First, and most importantly, the built in indicator identifies pivots in your chosen oscillator, but then utilizes the corresponding candle's HIGH or LOW to identify potential divergences. I'm not a fan of this method because oscillator values are typically calculated using the candle CLOSE values, so, in my opinion, divergences should be identified using the candle CLOSE value as well, as they are in this script.
Second, the built in divergence indicator only looks back one oscillator pivot for potential divergences. I coded this to look back one additional pivot as well to identify more valid potential divergences. The script will only identify these types of "multiple pivot divergences" if the oscillator pivot in between the two diverging pivots DOES NOT intersect the line being drawn them.
Notes for chart:
#1: This built in Divergence indicator misses this hidden bearish divergence because of the pivot in between (marked with red vertical line). No divergence exists between the most recent pivots, but it does if we compare it to the next one back.
#2: The RSI14 is making a lower high here, the first criteria for a bearish divergence. The built in Divergence indicator then references the candles' HIGHS. Because the most recent HIGH exceeds the previous one, it is considered a higher high and incorrectly identified as a bearish divergence. If we use the candle CLOSE price to identify divergences, this does not qualify.
#3: Here, we see both of the updates in action. Neither of these bearish divergences are identified with the built in Divergence Indicator. The first divergence s missed due to the use of candle HIGHS rather than closes; the original HIGH is greater than the next HIGH, however, comparison of closes shows that it is, in fact, a higher CLOSE. The second divergence is missed because original indicator can only look back one pivot and, consequently, misses the divergence between the next one back.
Please note, you may notice while using this script that some of the older divergences do not show any lines between the oscillator pivots. THIS IS NOT A BUG! In order to draw divergence lines properly for multiple pivots back, I had to use the line.new functions rather than plot functions. These line functions will delete old lines when a certain number have been drawn on the chart so these old ones are automatically erased as time passes.
MA + VolumeAreaMade a stripped-down version of the script.
Later it will be supplemented with other functions.
In assembly:
-4 EMA
-The bull / bear area from the volume candlestick data.
In the settings, you can change the size of the array and the amount of sampled data in it.
p.s I cut all my scripts for convenient work for you. Stay tuned! Good luck.
Quick-Glance RSIThis script will draw a live, updating-RSI on the main chart. As the price updates, the RSI line will self-adjust between the highest high an the lowest low for the RSI period.
Settings/Customizations:
RSI Length : Calculate RSI and draw RSI Line for specified period
Overbought Level : Draw maroon box from OB level to highest high.
Oversold Level : Draw green box from lowest low to OS level.
Scale Offset : Fine-tune location of 0-100 scale.
Show Scale : Draw 0-100 levels to the right of the RSI line.
Show RSI Line : Draw a line from the start of the RSI period to the current price.
Show OB/OS Boxes : Enable or disable background for overbought and oversold areas.
Realtime : Draw all data in real time.
RSI on overlay chart is same as current RSI on bottom chart
RSI without scale, boxes, or RSI Line
“Repainting” Note : The current RSI level is calculated in real time as each price changes, so yes this does “repaint” on the current bar. This is by design and will not change the effectiveness of the script. However, if you are using this script to generate signals, uncheck “Realtime” and/or use “once per bar close” for alerts.
[RedK] Stepped Moving Average Channel (SMAC)The Stepping Moving Average Channel (SMAC) is not an indicator - It is more of a trading tool that was put together to enable a trader to take advantage of relatively fast price moves with quick incremental gain - maybe by exploiting opportunities to trade basic options (Calls, Puts) or to help with in/out-type swing trades. This is more a price-level visualization tool so please use it with this in mind, and not as a trading tool by itself.
While it looks very similar to a Donchian channel, SMAC plots a stepping channel of the moving average of the high & low prices (channel borders) - with an envelope that is at a user-specified % distance from the channel borders.
This setup, when combined with other Moving Averages and lower indicators, may make it easier for a trader to prepare for a trade with clear entry and exit price levels being planned upfront.
For example, a trader wants to capture 2% of the next move, will set the envelope to 2% and have clearer view of entry/exit price levels for such a scenario. once the trader receives confirmation (from other indicators or charts) that the price is heading in the way expected, the SMAC may make it simpler and quicker to estimate (and visualize) the entry/exit price levels and track the movement.
* The stepping feature helps remove price noise and the auto-stepping feature is designed to "snap to" those mental price levels that trader gravitate towards.
* The moving average type I used here is the Compound Ratio MA (CoRA_Wave) .
* This MA type was selected because it has a very high responsiveness and good smoothness, and tracks the price values very closely.
* The MA type can be replaced within the code with any other MA as preferred.
The auto-stepping feature:
----------------------------------
User can override the auto-stepping by entering a manual step value
when the auto-stepping is active, it will attempt to pick the best step size based on the underlying price range and the timeframe selected.
The step selection may not be ideal in some combination of value / TF - i will continue to improve these combinations
Stepping can also be completely disabled - this bring SMAC back to a regular (though highly responsive) Hi/Lo MA channel with envelope
The Excel table snippet in the chart above shows the various step value / TF combinations.
Also the stepping values can be further customized by changing the appropriate part in the script.
Other features:
--------------------
* Rounding Options: The stepping calculations uses one of 2 selectable methods:
1 -- regular rounding (uses the round() function): which rounds the price up & down depending on where it is compared to the half-step value
example: a value of 17 with a step of 10 will be rounded to 20. a value of 13 in that case will be rounded to 10
2 -- Whole Step (uses the int() function): this will only consider whole/fully completed steps - if the average (hi or low) does not explicitly exceed the next step level, we will not get that next value.
example: both values of 17 and 13 with a step of 10 will be rounded to 10.
* The "Quick Table":
The Quick Table shows on the top-left - and can be disabled in the script settings - It shows the currently selected stepping mode and value - since the auto-step changes dynamically with the selected chart timeframe, this makes it easier for the trader to view the active "configuration"
overall, i hope some traders find this quick utility useful - if not to use, maybe to inspire other ideas
- please feel free to use or customize in any way you need. Feel free to share feedback and observations.
Up/Down Indicator - DurbtradeA simple but unique indicator to show ONLY whether there is an increase or a decrease in price compared to the previous value.
Also includes a customizable SMA or EMA based "Smoothing Length" variable,
allowing the indicator to show whether the SMA or the EMA of the price
is up or down compared to the previous value.
An offset option is also included if you need it.
Settings :
Personal thoughts :
I wanted to have an indicator that showed ONLY whether the price is UP or DOWN from the previous value.
My logic was that I could have a more accurate perception of general up or down trend direction
if I removed the AMOUNT of increase or decrease happening from moment to moment over time.
From there, I added the SMA/EMA "Smoothing Length" and "Smoothing Type" variables into the script.
By increasing the value of the smoothing length above 1,
the indicator act as a color-changing moving average, except without showing an actual value.
"Smooth Length" acts just like the length of any other moving average...
When the value of the "Smooth Length" is = 1, the indicator shows whether PRICE is up or down.
When the value of the "Smooth Length" is = 50, the indicator shows whether the MOVING AVERAGE with a length of 50 is up or down.
When the value of the "Smooth Type" is = 1, the indicator is SMA based.
When the value of the "Smooth Type" is = 2, the indicator is EMA based.
As you can see in the main chart above, or in the picture below, I show the indicator in 2 different ways...
The indicator on the top shows price up/down action,
and the indicator on the bottom shows the 50 SMA up/down action :
Other key points :
The indicator height can be smashed down as small as possible and still remain 100% functional...
which is very important when chart real-estate is limited.
Here is an example of my main layout setup, with the Up/Down indicator on the top left :
As you can see, it takes up very little space, but still remains fully functional.
In the example above, I have it overlayed on the left chart price panel,
with the price visibility turned off.
If it is overlayed on the price panel like so, and you want to see both the indicator and price,
simply turn the price visibility on to see both.
Since the indicator displays itself merely by changing the color of the background,
layer order has no effect, and the indicator is always drawn in the background.
The Up/Down indicator can also be used in conjunction with other candle types
that sometimes display candle color differently than standard candles, such as heikin-ashi candles.
Just take note that the colors of the indicator may not match the colors of the heikin-ashi candles.
Finally, I looked very hard to find an indicator like this on TradingView, and found absolutely nothing.
I know that it is a simple concept, but I'm honestly surprised I couldn't find anything like it.
I have been using it for awhile now, and I'm proud of the results...
therefore, I'd like to share it with the community, along with my previously published indicators,
in the hope that you find it useful!
Outro :
A) As with my previous indicators,
this one was written while keeping information, color, clarity, chart real-estate, and customization in mind.
B) It is optimized to be displayed on all display setups...
for use on your own personal television, laptop, or cellular phone screen...
and on all chart zoom levels and layout styles.
C) Please feel free to comment your thoughts, critiques, or suggestions. They are all very helpful!
D) Check out my previous pine script indicators if you like this one. They work really well together.
E) I hope that you find this script useful.
F) Enjoy!
// Durbtrade
Unusual Time Frame VolumeThis script plots the ratio of each volume bar to the average daily volume of that specific bar (at that specific time of day).
You can see what the volume at the 09:30 (or whenever) bar looks like compared to the average volume at the same time during the previous X number of days.
The output can be read like a normal volume chart; however, you can see at a glance whether these is more volume than "normal" for that time of day.
A value of "2" would be 2x the "normal" volume; a value of "0.5" would be half.
Thus, if bars exceed the value of "1", you know that there is more volume than normal.
If the bar exceeds an adjustable threshold, it will change the color of the bar to yellow; otherwise it will be orange for values exceeding "1".
As a consequence to this approach, the plot is effectively normalized such that it obviates the need to scale up or down as volume changes throughout the day.
Notes:
If the settings are not set appropriately for your mode and time frame, the output will be incorrect/invalid!
Make sure you set the "Asset Mode" and "Time Frame (minutes)" to values that match your asset and chart setting. For example, if you are trading Futures on a 2m chart, set the Asset Mode to Futures and Time Frame to 2m. If you are trading crypto on a 5m chart, set the Asset Mode to 24/7 and Time Frame to 5m.
If you choose a "Look-back (Days)" setting that is too far back given the time frame, the script will produce an error. I suggest playing with settings from 1 (compares volume to the previous day's volume) to the highest number that doesn't break the script. For example, at a 2m time frame, the maximum look-back will be 6-7 depending on which mode you are using. Longer time frames allow larger look-back values. I find that the default value (6 Days) does a decent job in general.
Strat Assistant Alerts and Highs/LowsStrat Assistant FTC Only
----------------------------
█ OVERVIEW
This script is intended to highlight/draw lines for the prior high/low of 30, 60, day, week, month, quarter, as well as create the alerts for when these thresholds get crossed
Input
----------
The script has inputs for every time frame plotted - 30, 60, day, week, month, quarter. All of the following items below can be "modified"
is the high line active? (for the corresponding time frame, will plot the line yes or no - by default only the DAY is displayed)
is the low line active? (for the corresponding time frame, will plot the line yes or no - by default only the DAY is displayed))
The high line color - modify the color of the corresponding time frame high line to your liking
The low line color - modify the color of the corresponding time frame low line to your liking
The time frame line width - make some lines wider than others for easier distinction
Output
----------
Lines for each corresponding time frame activated in the selected color and width.
Custom alerts - open a stock, select the Alerts button at the top, click the condition as the name of this script. The next drop down will show you all the corresponding alerts you can set for the current price crossing above the prior timelines high or below the prior timelines low (the bracket number is just for sorting purposes).
Best Practices
----------
What's not mapped? - Style (you can't drive this by an input, by default day is dashed, the rest are a solid line)
What's not mapped? - Price on the Y axis. I'm still trying to figure this out, not sure you can do it. I can add a label, just gets cluttered fast
Played with this a little bit using crypto, but obviously I can't test out all these alerts without a lot of things moving. Please do your due diligence.
I know a million people are going to want a million things. I can create more alerts coming soon, for now I wanted to start with this. Please and comments or suggestions or feedback and I'll see what I can do. I can create labels (for price) randomly, but it will clutter the screen. Or I can create one big box or table with prices shown.
Pivot High/Low Analysis & Forecast [LuxAlgo]Returns pivot points high/low alongside the percentage change between one pivot and the previous one (Δ%) and the distance between the same type of pivots in bars (Δt). The trailing mean for each of these metrics is returned on a dashboard on the chart. The indicator also returns an estimate of the future time position of the pivot points.
This indicator by its very nature is not real-time and is meant for descriptive analysis alongside other components of the script. This is normal behavior for scripts detecting pivots as a part of a system and it is important you are aware the pivot labels are not designed to be traded in real-time themselves
🔶 USAGE
The indicator can provide information helping the user to infer the position of future pivot points. This information is directly used in the indicator to provide such forecasting. Note that each metric is calculated relative to the same type of pivot points.
It is also common for analysts to use pivot points for the construction of various figures, getting the percentage change and distance for each pivot point can allow them to eventually filter out points of non-interest.
🔹 Forecast
We use the trailing mean of the distance between respective pivots to estimate the time position of future pivot points, this can be useful to estimate the location of future tops/bottoms. The time position of the forecasted pivot is given by a vertical dashed line on the chart.
We can see a successful application of this method below:
Above we see the forecasted pivots for BTCUSD15. The forecast of interest being the pivot high. We highlight the forecast position with a blue dotted line for reference.
After some time we obtain a new pivot high with a new forecast. However, we can see that the time location of this new pivot high matches perfectly with the prior forecast.
The position in time for the forecast is given by:
x1_ph + E
x1_pl + E
where x1_ph denotes the position in time of the most recent pivot high. x1_pl denotes the position in time of the most recent pivot low and E the average distance between respective pivot points.
🔶 SETTINGS
Length: Window size for the detection of pivot points.
Show Forecasted Pivots: Display forecast of future pivot points.
🔹 Dashboard
Dashboard Location: Location of the dashboard on the chart
Dashboard Size: Size of the dashboard on the chart
Text/Frame Color: Determines the color of the frame grid as well as the text color
Strat Assistant ScreenerStrat Assistant Screener
----------------------------
█ OVERVIEW
This script is intended to provide screening/scanning functionality for the strat for the time period provided in the input (Day is the default).
When added, the script provides a chart with labels separated for each type of candle (2 up, 2 down, outside, inside) as well as actionable signals (inside already provided, hammer, shooter). Trading view is limited to 40 "security/ticker/symbol" calls so only 40 at a time are available. It's best to run this on higher time frames as it will occasionally push peak trading view memory limits and throw an error. Various inputs are provided a detailed below. It's not FAST so be patient please.
█ DETAIL
Inputs
----------
Security/Screener Time Frame: The screener will only run for one time frame, the time frame selected and this can be changed
Actionable Wick Percentage: The percentage of the WICK to determine a hammer or a shooter. For example, the default is .75 or 75%, which means 75% of the candle must be a WICK (top wick 75% for shooter, bottom wick 75% for hammer). If you wish to be more conservative scale it down or more aggressive scale it up
Label Index Offset Factor: There are 6 separate labels that will appear at the bottom separated by this indicator. If you feel like things are too tight or too narrow you can adjust this to spread things out further, or push them closer together.
Security/SXX: The various securities that can be input to track. If you find this is a pain, you can always copy the source code, put it in the pine editor yourself, and manually modify them there. Trading view limits you to 40 securities/symbols/tickers so I've pushed the limit as far as I can with this script.
Outputs
----------
The screener will provide a second chart at the bottom of the primary chart with labels for the types of candles and actionable signals
Each label will be present even if no results are found.
The label will display the time frame selected toward the end of the header - Strat Assistant Screener:
Each label is colored for quick reference to indicate the various bull/bear/inside/outside "patterns"
Best Practices
----------
It is not fast, so please be patient and let it run.
This screener is best used as a utility a few times a day, not recommended for intraday. I will create a scaled down version of this will only 5 securities/symbols/tickers that can be used intraday.
The screener pushes the limits of training views provided memory, so you may occasionally see errors, please try a higher time frame.
The bottom chart can be scaled and moved just like the top one, play around with it to determine what works best for you. I recommend decreasing the scale and then moving it up so you can see it better.
When the time frame is changed, it will take a minute, you can verify the results by seeing the time frame change in the label - Strat Assistant Screener:
I have not played with this thoroughly intraday yet. So it may be buggy/slower.
McClellan Oscillator for DAX (GER30) [aftabmk modified]About McClellan Oscillator
Developed by Sherman and Marian McClellan, the McClellan Oscillator is a breadth indicator derived from Net Advances, the number of advancing issues less the number of declining issues. Subtracting the 39-day exponential moving average of Net Advances from the 19-day exponential moving average of Net Advances forms the oscillator.
As the formula reveals, the McClellan Oscillator is a momentum indicator that works similar to MACD .
McClellan Oscillator signals can be generated with breadth thrusts, centerline crossovers, overall levels and divergences.
About my version
This version here is a modification, though:
- It can only be used on the DAX index (DAX 30 or GER 30)
- It only considers the DAX 30 stocks
- The data window will provide a summary about rising and declining stocks
- The data window will output the last change for each of the 30 stocks
BUG
I am only publishing this version because I am not sure if my current version is saved when I leave tradingview.com without publishing the script.
This version still contains a bug - the if/else clauses do not correctly recognize declining stocks. So the oscillator should not be used as it is.
Working on it these days. Feel free to provide feedback!
Stuff I am working on
- Coloring the area green/red according to the value
- Fixing this bug/making this script more efficient
DISCLAIMER
This script was mainly written for educational purposes (training myself how to write custom indicatotors).
As you can see, the code is really messy.
Credits
Based on the simple version of aftabmk
You can find the original version by searching for McClellan Oscillator for nifty 50.
Tiger's Stop - Objective Stoploss SettingTrading is a lot about risk management too. I created this script to help with setting and moving a proper stop-loss. It plots an area that is a result of adding and subtracting both average true range and something I call "false range".
►The Average True Range is calculated as the candle's high-low. If there is a gap, it is added to complete the result.
►My own False Range just candle bodies. It is calculated as an absolute value of (close-open).
Then, Rolling Moving Average is applied on both ATR and False Range to get an idea of how far the price tends to extend out of pure randomness. The resulting value is multiplied by a Multiplier.
The next step is an addition of the values to the higher part of the candle for short or a lower part of the candle for long. I prefer a special calculation instead of using Highs and Lows because it allows for more precise observation and stop-loss set up for less wicky symbols.
►►►Additional Functions
• Smoothing - applies moving average to candles from which range distance is calculated. This can achieve good smoothness but higher values will lead to using outdated price in the SL area calculation.
• Enable/Disable - if you know the direction you are going to trade in, it is good to disable either Long Stop-Loss Area or Short Stop-Loss Area. Just untick it in the settings.
►►►Actual Using
Before using the script to set your stop-loss, check the historical data and find a similar set-up. Is it engulfing you use as a trigger? Find a different one and see how effective the stop-loss based on the ATR*multiplier was. This will help you to optimize Multiplier value. A picture shows such research for a double top. You should find more similar situations to find an optimal value.
Ultimately, the indicator still gives you relatively a lot of freedom with your stop-loss settings (at least, that is with the default settings). You need to decide how loose stop-loss you want to set. Average True Range is the furthermost part which will make for a very large stop-loss, on the other hand, False Range might be triggered by a villainous wick unnecessarily. The choice should depend on the specific symbol you trade and perhaps, you will learn to set stops regardless of the indicator.
A little trick : 1. You can set the loosest stop-loss and set a TradingView alert for where the tightest stop-loss would be. When alerted, you will get the opportunity to reconsider the trade and take a loss if needs be or exit if a candle closes there. 2. Mostly for cryptocurrencies, you can set the tightest stop-loss to protect yourself from sudden spikes. If the price approaches it slowly enough, you can move the stop-loss to the further part of the channel. This is not the same as moving stop-loss indefinitely with hopes of reversal if you plan it from the beginning and a smaller stop is meant to protect you from spikes that are not always predictable and drive to both directions.
►►►Advantages of trailing stop-loss
I usually stick with my original stop-loss instead of moving to break even. If my entry area was functional support once, it may work again and is, therefore, still a good entry zone. But an alternative used to preserve as much of the profit as possible is trailing.
Trailing is setting a specific value in ticks or a calculation of how to move the stop-loss whenever the price moves in your favor. Tiger's Stop can be used this way. Whenever there is a new value as the candle closes and that value is closer to price than your current stop-loss, you can update it. However, if it moves further from your price, don't change the stop-loss. This can be a little tiresome if you do it manually but should be worth the effort.
I usually start trailing only after the price moves significantly in my favor that allowing it to return to the entry price would not make any sense.
►►►Feedback and optimization
The preview chart is chosen entirely at random and the values are not optimized for any specific symbol. If you opt to use it, let me know which values work for you the best, I'll add it to the description when I update it.
Furthermore, let me know if you think any sort of alerts would be useful with my script.
Good luck!
Tweezers and Kangaroo TailHello Traders,
Here Tweezers and Kangaroo Tail script is in your service. The script searches for Tweezer / Kangaroo Tail candlestick patterns and shows them as T (Tweezer) and K (Kangaroo Tail). Thanks to RorschachT who game me the idea and some details while working on this script.
What are these candlestick patterns?
Tweezers :
- A tweezers pattern occurs when the highs/Lows of two candlesticks occur at almost exactly the same level
- Both candles must have wicks
- Bigger Wick / Smaller Wick rate should not be greater than 150% ( 150% by default and you have option to change it)
- First Candle must be highest/lowest for last 5 candles (5 by default and you have option to change it)
- The level of High for Top, Low for Bottom must be almost lower than 20% of the bigger wick of tweezer candles (20% by default and you have option to change it)
- The Candles can be right next to each other or apart but not more than 12 candles apart (12 by default and you have option to change it)
- You will see that Tweezers pattern occurs frequently
Kangaroo Tail:
- Looks almost like a Hammer or Inverted Hammer candle
- They have both its open and close in the top or bottom third of the candle
- There must be some space/room on the left of the kangaroo tail
- The open and close of the Kangaroo Tail candle must be inside the range of the previous candlestick
- The next candle should create a new high or new low
- You have several options to set details about the "Room" that should be on the left and also options for Wick/Body rates
- You can see example below
You have option to enable/disable any of these patterns.
as far as I have tested they are strong reversal patterns but none of the indicators or patterns may not be enough alone. so you should confirm the signals using other indicators or tools
If you need more information you can find a lot of info on the net ;)
Example: Tweezers - Aparted
Example: Kangaroo Tail - Bullish
Enjoy!
Session High and Session LowI have heard many people ask for a script that will identify the high and low of a specific session. So, I made one.
Important Note: This indicator has to be set up properly or you will get an error. Important things to note are the length of the range and the session definition. The idea is that you would set it up for what's relevant to your trading. Going too far back in the chart history will cause errors. Setting the session for a time that is not on the chart can cause errors. If you set it to look farther back than there are bars to display, you may get an error. What I've found is that if you get an error, you just need to change the settings to reflect available data and it will be able to compile the script. At the time of its publishing, the default range start is set to 10/01/2020. If you're looking at this years later, you'll probably have to set the range to something more recent.
Features:
Plot or Lines:
Using Plot (displayed), the indicator will track the high/low from the end of the session into the next session. Then at the start of the next session, it will start tracking the high/low of that session until its end, then track that high/low until the start of the next session then reset.
Using lines, it will extend horizontal lines to the right indefinitely. The number of sessions back that the lines apply to is a user-defined number of sessions. There are limits to the number of lines that can be cast on a chart (roughly 40-50). So, the maximum number of sessions you can apply the lines to is the last 21 sessions (42 lines total). That gets really noisy though so I can't imagine that is a limiting factor.
Colors:
You can change the background color and its transparency, as well as turn the background color on or off.
You can change the highs and lows colors
You can adjust the line width to your preference
Session Length:
You can use a continuous session covering any user-defined period (provided its not tooooo many candles back)
You can define the session length for intraday
You can exclude weekends
Display Options:
You can adjust the colors, transparency, and linewidth
You can display the plotline or horizontal lines
You can show/hide the background color.
You can change how many sessions back the horizontal lines will track
Let me know if there's anything this script is missing or if you run into any issues that I might be able to help resolve.
Here's what it looks like with Lines for the last 5 sessions and different background color.